package com.xuecheng.api.content;

import com.xuecheng.api.content.model.BindTeachplanMediaVO;
import com.xuecheng.api.content.model.TeachplanDTO;
import com.xuecheng.api.content.model.TeachplanMediaDTO;
import com.xuecheng.api.content.model.TeachplanVO;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;

/**
 * <h4>xuecheng</h4>
 * <p>课程计划api</p>
 *
 * @author : by wujianming
 * @date : 2021-12-11 19:02
 **/
@ApiModel(value = "课程计划api",description = "课程计划增删改查")
public interface TeachplanApi {

    @ApiOperation("课程计划的查询")
    @ApiModelProperty(name = "courseBaseId",value = "课程id",required = true)
    TeachplanDTO queryTeachplanList(Long courseBaseId);

    @ApiOperation(value= "新增或修改课程计划")
    @ApiImplicitParam(name = "teachplanVO",value = "课程计划VO" ,
            required = true, dataType = "TeachplanVO",paramType = "body")
    TeachplanDTO createOrModifyTeachPlan(TeachplanVO teachplanVO);

    @ApiOperation(value = "删除课程计划")
    @ApiImplicitParam(name = "teachPlanId" ,
            value = "课程计划Id值",required = true,
            dataType = "Long", paramType = "path", example = "1")
    void removeTeachPlan(Long teachPlanId);


    @ApiOperation("课程计划绑定媒资信息")
    TeachplanMediaDTO associateMedia(BindTeachplanMediaVO vo);
}

